/*
 * tenvironment.h
 *
 *  Created on: Jan 24, 2016
 *      Author: root
 */

#ifndef TENVIRONMENT_H_
#define TENVIRONMENT_H_

#include "../basic/ds.h"

DEFINE_OPERATOR( int_env  );
DEFINE_OPERATOR( curr_env );
INIT_OPERATORS( environment );

// 环境
void new_frame_in_env(Scheme *sc, Cell* oldEnv);
void new_slot_in_env(Scheme *sc, Cell* sym, Cell* value);
Cell* find_slot_in_env(Scheme *sc, Cell* env, Cell* sym, int all);
void set_slot_in_env(Scheme *sc, Cell* symbol, Cell* value);
Cell* slot_value_in_env(Cell* symbol);

#endif /* TENVIRONMENT_H_ */
